<template name="diyheader">
	<view>
		<!-- 顶部标题栏 -->
		<view class="header" :style="background ? 'background-color:' + background + ';' : 'background: none;'">
			<view class="stateBar" :style="'height:' + height + 'px;'"></view>
			<!-- 包裹层 -->
			<!-- #ifdef H5 -->
			<view class="wrap" :style="(background ? 'background-color:' + background + ';' : 'background: none;')">
				<!-- #endif -->
				<!-- #ifndef H5 -->
				<view class="wrap" >
					<!-- #endif -->
					<!-- 这里覆盖默认的背景颜色 如果需要背景透明 使用view替换 添加api事件返回 -->
					<view class="topFn" @click="goback">
						<!-- #ifdef APP-PLUS || H5 -->
						<uni-icons type="arrowleft" size="22" :color="title ? (color ? color :'#000') : (color ? color :'#fff') "></uni-icons>
						<!-- #endif -->
						<!-- #ifdef MP-WEIXIN -->
						<uni-icons type="back" size="28" :color="title ? (color ? color :'#000') : (color ? color :'#fff') "></uni-icons>
						<!-- #endif -->
					</view>
					<view class="title" v-if="title" :style="'color:' + color + ';'">{{title}}</view>
					<view class="topFn"></view>
				</view>
			</view>

			<!-- 头部占高盒 -->
			<view class="headerBox" v-if="title && padding" :style="'padding-top:' + height + 'px;'"></view>
		</view>
</template>
<script>
	/*
	* title			标题文字			字符串
	* color			主体颜色			英文单词、16进制、rgba
	* background	背景颜色
	* padding		填充
	* 
	*/
	
	export default {
		// 组件名字
		name: "diyheader",
		// 接受参数 不能在data中定义
		props: {
			// 标题文字
			title: {
				type: [Boolean, String],
				default: '',
			},
			// 主体颜色
			color: {
				type: [Boolean, String],
				default: 'black',
			},
			// 背景颜色
			background: String,
			// 是否填充
			padding: {
				type: Boolean,
				default: true,
			},
		},
		
		watch:{
			padding(){
				location.reload();
			},
		},

		data() {
			return {
				// 高度
				height: '',
				height2:''
			};
		},

		// 组件创建完成
		mounted() {
			// 获取高度
			this.getHeight();
		},

		// 方法
		methods: {
			// 获取高度
			getHeight() {
				// 赋值状态
				var that = this;

				// 设置系统设置
				uni.getSystemInfo({
					success(e) {
						//CustomBar 为导航栏高度+状态栏高度；一般android 导航栏为50，ios为45；
						that.height = e.statusBarHeight;
					}
				})
			},

			// 返回
			goback() {
				// 判断父级是否需要返回事件
				if (!this.$parent.goback) {
					// 返回跳转
					uni.navigateBack();
				} else {
					// 执行父级方法
					this.$parent.goback();
				};
			},
		},
	}
</script>

<style lang="less">
	// 标题
	.header {
		/* #ifndef H5 */
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		// 保持和原生标题栏通告
		z-index: 998;
		/* #endif */

		// 内容
		.wrap {
			overflow: hidden;
			box-sizing: border-box;
			display: flex;
			justify-content: space-between;
			align-items: center;

			/* #ifdef MP-WEIXIN */
			height: 44px;
			/* #endif */

			/* #ifdef APP-PLUS */
			height: 44px;
			padding: 0 10rpx;
			/* #endif */

			/* #ifdef H5 */
			position: fixed;
			// 兼容浏览器的边
			left: var(--window-left);
			right: var(--window-right);
			padding: 6px 8px;
			// 兼容safa浏览器安全区
			height: calc(44px + constant(safe-area-inset-top));
			height: calc(44px + env(safe-area-inset-top));
			padding-top: calc(7px + constant(safe-area-inset-top));
			padding-top: calc(7px + env(safe-area-inset-top));
			/* #endif */
			z-index: 998;

			// 去掉navigation被点击到出现的默认阴影样式
			.nhover {
				background: none !important;
			}

			// 顶部功能
			.topFn {
				display: flex;
				flex-direction: row;
				align-items: center;
				width: 150rpx;
				height: 55rpx;
			}

			.title {
				/* #ifdef H5 */
				font-weight: bold;
				font-size: 16px;
				/* #endif */
				/* #ifdef MP-WEIXIN */
				font-size: 34rpx;
				/* #endif */
				/* #ifdef APP-PLUS */
				font-size: 32rpx;
				/* #endif */
			}
		}

	}

	// 占高度盒子
	.headerBox {
		height: 44px;
	}
</style>